package org.example.winter;

/**
 * @author YHG
 * @date 2020/8/21 16:41
 */
public interface BeanFactory {

    /**
     * 获取Bean
     *
     * @param beanName
     * @return
     */
    Object getBean(String beanName);

    /**
     * 获取Bean并进行类型转换
     *
     * @param beanName
     * @param requiredType
     * @param <T>
     * @return
     */
    <T> T getBean(String beanName, Class<T> requiredType);

    /**
     * 启动容器
     *
     */
    void run();

}
